home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / CDTools / MUIRexx / demos / MUIRexxDock / dock.rexx < prev    next >
OS/2 REXX Batch file  |  1997-05-14  |  3KB  |  116 lines

  1. /*
  2.  
  3. Code:       dock.rexx
  4. Author:     Russell Leighton
  5. Revision:   1 May 1997
  6.  
  7. */
  8.  
  9. options results
  10. parse arg m
  11.  
  12. address dock
  13.  
  14. MUIM_Application_OpenConfigWindow = 0x804299ba
  15. MUIM_Window_Snapshot = 0x8042945e
  16.  
  17. MUIA_Draggable = 0x80420b6e
  18. MUIA_FixWidth = 0x8042a3f1
  19. MUIA_Frame = 0x8042ac64
  20. MUIA_Group_Spacing = 0x8042866d
  21. MUIA_InnerBottom = 0x8042f2c0
  22. MUIA_InnerLeft = 0x804228f8
  23. MUIA_InnerRight = 0x804297ff
  24. MUIA_InnerTop = 0x80421eb6
  25. MUIA_Menuitem_Shortcut = 0x80422030
  26. MUIA_Menuitem_Title = 0x804218be
  27. MUIA_Selected = 0x8042654b
  28. MUIA_Window_Borderless = 0x80429b79
  29. MUIA_Window_DepthGadget = 0x80421923
  30. MUIA_Window_DragBar = 0x8042045d
  31. MUIA_Window_SizeGadget = 0x8042e33d
  32.  
  33. MUIV_Frame_None = 0
  34. FALSE = 0
  35. TRUE = 1
  36.  
  37. if m = '' then do
  38.     m = 1
  39.     setvar EDIT 0
  40. end
  41.  
  42. nextdock = ''
  43. horiz = ''
  44. frame = ''
  45. virtual = ''
  46. dragbar = TRUE
  47. n = 0
  48. dockname = 'DOCK'm
  49. if exists(dockname) then do
  50.     call open('dock',dockname,'R')
  51.     nextdock = readln('dock')
  52.     flags = readln('dock')
  53.     if index(flags,'HORIZ') ~= 0 then horiz = 'HORIZ'
  54.     if index(flags,'FRAME') ~= 0 then frame = 'FRAME'
  55.     if index(flags,'VIRTUAL') ~= 0 then virtual = 'VIRTUAL'
  56.     if index(flags,'DRAGBAR') = 0 then dragbar = FALSE
  57.     line = readln('dock')
  58.     do while ~eof('dock')
  59.         n = n + 1
  60.         setvar 'B'||m||n line
  61.         line = readln('dock')
  62.     end
  63.     call close('dock')
  64. end
  65. else flags = 'DRAGBAR'
  66.  
  67. setvar 'X'||m nextdock
  68. setvar 'F'||m flags
  69. setvar 'D'||m n
  70.  
  71. window ID dockname CLOSE
  72. window ID dockname ATTRS MUIA_Window_DragBar dragbar,
  73.                          MUIA_Window_DepthGadget FALSE,
  74.                          MUIA_Window_SizeGadget dragbar,
  75.                          MUIA_Window_Borderless TRUE,
  76.                          MUIA_InnerBottom 0,
  77.                          MUIA_InnerLeft 0,
  78.                          MUIA_InnerRight 0,
  79.                          MUIA_InnerTop 0
  80.  menu LABEL "Project"
  81.   item COMMAND """about""" ATTRS MUIA_Menuitem_Shortcut 'A' LABEL "About"
  82.   menu LABEL "Settings"
  83.    item COMMAND """method "MUIM_Application_OpenConfigWindow" 0""" PORT dock ATTRS MUIA_Menuitem_Shortcut 'M' LABEL "MUI..."
  84.    item COMMAND """method ID "dockname" "MUIM_Window_Snapshot" 1""" PORT dock ATTRS MUIA_Menuitem_Shortcut 'S' LABEL "Snapshot"
  85.   endmenu
  86.   item COMMAND """edit_open "m"""" ATTRS MUIA_Menuitem_Shortcut 'E' LABEL "Edit Dock" m
  87.   item COMMAND """dock "m"""" ATTRS MUIA_Menuitem_Shortcut 'R' LABEL "Reset Dock" m
  88.   item ATTRS MUIA_Menuitem_Title '-1'
  89.   item COMMAND """quit""" PORT dock ATTRS MUIA_Menuitem_Shortcut 'Q' LABEL "Quit"
  90.  endmenu
  91.  menu LABEL "Monitor"
  92.    item COMMAND '"monitor on con:0/660/840/240//auto"' PORT DOCK LABEL "On"
  93.    item COMMAND '"monitor off"' PORT DOCK LABEL "Off"
  94.    item COMMAND '"monitor error con:0/660/840/240//auto"' PORT DOCK LABEL "Error"
  95.  endmenu
  96.  group ID 'I'||m frame virtual horiz ATTRS MUIA_Group_Spacing 0,
  97.                                            MUIA_InnerBottom 0,
  98.                                            MUIA_InnerLeft 0,
  99.                                            MUIA_InnerRight 0,
  100.                                            MUIA_InnerTop 0
  101.   if n > 0 then call dock_object m 0
  102.   else do
  103.    group ID 'G'||m||1 ATTRS MUIA_Group_Spacing 0
  104.     button ID m||1 ATTRS MUIA_Frame MUIV_Frame_None MUIA_FixWidth 40
  105.    endgroup
  106.   end
  107.  endgroup
  108. endwindow
  109.  
  110. call dock_mode m 0 1
  111.  
  112. if nextdock ~= '' then do
  113.     getvar EDIT
  114.     if result = 0 then call dock m+1
  115. end
  116.